Data centers supporting user-facing applications, such as email applications, or other applications like large-scale data processing, usually run a set of internal services that provide basic functionality on which to build the higher-level applications. The computer clusters used to run these services rely on general purpose network technology such as Ethernet switches and Internet protocols whose limitations and compromises, in terms of design and implementation, limit the performance and functionality of the services that run upon them. Examples of issues include bandwidth oversubscription and, where TCP/IP is used, TCP throughput collapsing as the small buffers are overrun.
The embodiments described below are not limited to implementations which solve any or all of the disadvantages of known methods of communication within a computer cluster.